<?php

session_start();

require_once'../conexaoSingleton.php';
require_once'../sindicalize/entidade.php';

class Persistencia
{
	public function __construct(){
		
	}
	
	public function inserir($obj)
	{
		
		$objCon = Conexao::getConexao();
		$objFSind = new Entidade();
		$id_membroAux = 0;
		
		$objFSind = $obj;
		
		$objArrDependentes = $objFSind->getDependentes();
		$qtdArrDependentes = count($objArrDependentes);
		
		$objCon->beginTransaction();
		$sqlConsulta = "insert into strt_membros(strt_nome,strt_endereco,strt_pai,strt_mae,
			strt_municipio,strt_nacionalidade,strt_naturalidade,strt_data_nascimento,strt_fone,
			strt_cargo,	strt_lotacao,strt_rg,strt_cpf,strt_matr,strt_conjuge)
			values(:strt_nome,:strt_endereco,:strt_pai,:strt_mae,:strt_municipio,:strt_nacionalidade,
			:strt_naturalidade,:strt_data_nascimento,:strt_fone,:strt_cargo,:strt_lotacao,
			:strt_rg,:strt_cpf,:strt_matr,:strt_conjuge)";

			$stmt = $objCon->prepare($sqlConsulta); 
			$stmt->bindValue(':strt_nome',$objFSind->getNome());
			$stmt->bindValue(':strt_endereco',$objFSind->getEndereco());
			$stmt->bindValue(':strt_pai',$objFSind->getPai());
			$stmt->bindValue(':strt_mae',$objFSind->getMae());
			$stmt->bindValue(':strt_municipio',$objFSind->getMunicipio());
			$stmt->bindValue(':strt_nacionalidade',$objFSind->getNacionalidade());
			$stmt->bindValue(':strt_naturalidade',$objFSind->getNaturalidade());
			$stmt->bindValue(':strt_data_nascimento',$objFSind->getData());
			
			$stmt->bindValue(':strt_fone',$objFSind->getFone());
			$stmt->bindValue(':strt_cargo',$objFSind->getCargo());
			$stmt->bindValue(':strt_lotacao',$objFSind->getLotacao());
			$stmt->bindValue(':strt_rg',$objFSind->getRG());
			$stmt->bindValue(':strt_cpf',$objFSind->getCPF());
			$stmt->bindValue(':strt_matr',$objFSind->getMatr());
			$stmt->bindValue(':strt_conjuge',$objFSind->getConjuge());
			
			
			
			if($stmt->execute())
			{
				
				$id_membro = $objCon->lastInsertId();
				$id_membroAux = $id_membro;
				if($objArrDependentes != NULL)
				{							
					foreach($objArrDependentes as $valor)
					{

						$sqlConsulta = "";
						$sqlConsulta = "insert into strt_dependentes(strt_dependente,strt_grau,strt_id_membro)values(:strt_dependente,:strt_grau,:strt_id_membro);";
						
						$stmt = $objCon->prepare($sqlConsulta);
						
							$stmt->bindValue(':strt_dependente',$valor["Dependente"]);	
							$stmt->bindValue(':strt_grau',$valor["Parentesco"]);	
							$stmt->bindValue(':strt_id_membro',$id_membro);	

						if(!$stmt->execute())
						{
							$objCon->rollBack();						
						}		
					}
					$_SESSION['msg_form_sindicalize'] = "ok";
				}
			}else{
				$_SESSION['msg_form_sindicalize'] = "erro";
			}
			$objCon->commit();	
			
			$sqlConsulta = "";
			$sqlConsulta = "select strt_nome,strt_endereco,strt_pai,strt_mae,strt_municipio,strt_nacionalidade,
			strt_naturalidade,strt_data_nascimento,strt_fone,strt_cargo,strt_lotacao,strt_rg,strt_cpf,
			strt_matr,strt_conjuge from strt_membros where strt_id = :id";
			$stmt = $objCon->prepare($sqlConsulta);
			$stmt->bindValue(':id',$id_membroAux);
			$stmt->execute();
			$arraDadosMembro = $stmt->fetchAll(PDO::FETCH_ASSOC);
			
			$_SESSION['lista_dados_membro'] = $arraDadosMembro;
			 
			$sqlConsulta2 = "";
			$sqlConsulta2 = "select strt_dependente,strt_grau from strt_dependentes where strt_id_membro = :id";
			$stmt = $objCon->prepare($sqlConsulta2);
			$stmt->bindValue(':id',$id_membroAux);
			$stmt->execute();
			$arraDependentesMembro = $stmt->fetchAll(PDO::FETCH_ASSOC);
			
			$_SESSION['lista_dependentes_membro'] = $arraDependentesMembro;
			
			header('Location: ../sindicalize/membro_pdf.php');
		}
		
	}
